package com.sisgesbyte.dao.tecnico;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

public class Demo {

	static List<BeanDemo> listaPadres = new ArrayList<BeanDemo>();
	static List<BeanDemo> listaHijos = new ArrayList<BeanDemo>();
	static StringBuilder str = new StringBuilder();
	public static void main(String[] args) {

//		List<BeanDemo> lista = new ArrayList<BeanDemo>();
//		BeanDemo bean = new BeanDemo();
//		bean.setId(1);
//		bean.setNivel(1);
//		bean.setNombre("Linea1");
//		bean.setOrden(1);
//		bean.setPadre(null);
//		lista.add(bean);
//		BeanDemo bean2 = new BeanDemo();
//		bean2.setId(2);
//		bean2.setNivel(1);
//		bean2.setNombre("Linea2");
//		bean2.setOrden(1);
//		bean2.setPadre(null);
//		lista.add(bean2);
//		BeanDemo bean3 = new BeanDemo();
//		bean3.setId(3);
//		bean3.setNivel(2);
//		bean3.setNombre("sublinea1");
//		bean3.setOrden(1);
//		bean3.setPadre(1);
//		lista.add(bean3);
//		BeanDemo bean4 = new BeanDemo();
//		bean4.setId(4);
//		bean4.setNivel(2);
//		bean4.setNombre("sublinea2");
//		bean4.setOrden(1);
//		bean4.setPadre(2);
//		lista.add(bean4);
//		BeanDemo bean5 = new BeanDemo();
//		bean5.setId(5);
//		bean5.setNivel(2);
//		bean5.setNombre("sublinea3");
//		bean5.setOrden(1);
//		bean5.setPadre(2);
//		lista.add(bean5);
//		BeanDemo bean6 = new BeanDemo();
//		bean6.setId(6);
//		bean6.setNivel(3);
//		bean6.setNombre("sublinea4");
//		bean6.setOrden(1);
//		bean6.setPadre(5);
//		lista.add(bean6);
//		BeanDemo bean7 = new BeanDemo();
//		bean7.setId(7);
//		bean7.setNivel(3);
//		bean7.setNombre("sublinea5");
//		bean7.setOrden(1);
//		bean7.setPadre(4);
//		lista.add(bean7);
//		BeanDemo bean8 = new BeanDemo();
//		bean8.setId(8);
//		bean8.setNivel(3);
//		bean8.setNombre("sublinea6");
//		bean8.setOrden(1);
//		bean8.setPadre(5);
//		lista.add(bean8);
//		BeanDemo bean9 = new BeanDemo();
//		bean9.setId(9);
//		bean9.setNivel(4);
//		bean9.setNombre("sublinea7");
//		bean9.setOrden(1);
//		bean9.setPadre(8);
//		lista.add(bean9);
//		
//		BeanDemo bean10 = new BeanDemo();
//		bean10.setId(10);
//		bean10.setNivel(4);
//		bean10.setNombre("sublinea7");
//		bean10.setOrden(1);
//		bean10.setPadre(9);
//		lista.add(bean10);
//
//		for (BeanDemo ls : lista) {
//			if (ls.getPadre() == null) {
//				listaPadres.add(ls);
//			} else {
//				listaHijos.add(ls);
//			}
//		}
//		String valor ="++valor";
//		
//		System.out.println(valor.contains("++ "));
//		
//		mostrarHijos(bean2);
//		String cadena = "SELECT * from comun.sp_registrar_comun_objeto(:in_tipo_objeto_id, :in_tipo_identificacion_id , :in_num_doc, :in_razon_social ,:in_nombre, :in_apellido, :in_telefono1, :in_direccion, :in_email,  :in_fecha_nacimiento, :in_pais_id , :in_division_pais_id, :in_ciudad_id, :in_distrito_id )";
//		String cadena2 ="david, manuel";
//		cadena2 = cadena2.replace("david", "null");
//		//cadena2.replace("david", "null");
//		System.out.println(cadena2);
//		
		 BigDecimal num = new BigDecimal(2023);     
	      BigDecimal den = new BigDecimal(600000);  
	    
	      BigDecimal res = num.divide(den,4, RoundingMode.CEILING).multiply(new BigDecimal(100));     
	      System.out.println(res);    
	      
	      List<Integer> lista = new ArrayList<Integer>();
	      lista.add(100);
	      lista.add(300);
	      lista.add(500);
	      lista.add(100);
	      lista.add(40);
	      lista.add(90);
	      
	      Collections.sort(lista);
	      
	      System.out.println(lista.get(lista.size()-1));
	      String colorGeneral = "david,";
	      StringBuilder jpql = new StringBuilder();
	      jpql.append(colorGeneral);
	      
			System.out.println(jpql.substring(0, jpql.length()-1));
		
	}

	public static void mostrarPadres() {

		for (BeanDemo ls : listaPadres) {
			System.out.println("Padre :" + ls.getId());
			mostrarHijos(ls);
		}
	}

	// metodo que te muestra los dependientes
	public static void mostrarHijos(BeanDemo bean) {

		for (BeanDemo ls : listaHijos) {
			if (bean.getId() == ls.getPadre()) {
				System.out.println("Hijo " + ls.getId() + "- Padre : " + bean.getId());
				mostrarHijos(ls);
			}

		}

	}

	public static void construirMenu(BeanDemo bean) {
		List<BeanDemo> row = new ArrayList<BeanDemo>();
		String val = str.append(" ").toString();
		for (BeanDemo ls : listaHijos) {
			if (bean.getId() == ls.getPadre()) {
				System.out.println( val + ls.getId());
				row.add(ls);
			}
		}
		
		for(BeanDemo ls : row){
			construirMenu(ls);			
		}

	}
}
